Особенности размещения
Особенностью произвольных команд по сравнению со стандартными является необходимость описания места их размещения по умолчанию (см. раздел «Категории и группы команд») в командном интерфейсе. Место размещения произвольной команды задает разработчик при конфигурировании прикладного решения.
Остальные аспекты управления произвольными командами: доступность по ролям (см. раздел «Система прав доступа»), управление видимостью команды (см. раздел «Ручное размещение и видимость команд»), настройка зависимости от функциональных опций (см. раздел «Отключаем неиспользуемые команды») и т. д. – аналогичны управлению стандартными командами.
Размещение по умолчанию в командном интерфейсе для произвольных команд определяется:
- категорией и группой, назначенными команде;
- принадлежностью команды к подсистеме конфигурации (для независимых команд);
- типом параметра команды (для параметризуемых команд).
Категория команды и ее группа устанавливаются в свойстве Группа этой команды (см. рис. 1.141, 1.142, 1.144).
ВНИМАНИЕ!
Свойство команды Группа обязательно должно быть заполнено. В противном случае возникнет ошибка при обновлении конфигурации базы данных и обновление не выполнится.
При выборе группы для команды следует обращать внимание на необходимость в передаче параметров команде и на действия, выполняемые командой. В качестве общего критерия можно предложить придерживаться тех же правил, которые используются для стандартных команд (см. раздел «Правила размещения глобальных команд»):
- Если команда для своего исполнения не требует параметров, то для нее выбирают группу с категорией Панель навигации или с категорией Панели действий.
- Если команда для своего исполнения требует передачи параметра, то для нее необходимо выбрать группу с категорией Панель навигации формы или с категорией Командная панель формы.
- Для команд, выполнение которых приводит к изменению информации, отображаемой в рабочей области того же окна, следует выбирать категорию Панель навигации для независимых команд или Панель навигации формы для параметризуемых команд.
- Для команд, выполнение которых приводит к изменению данных в информационной базе, следует выбирать категорию Панель действий для независимых команд или Командная панель формы для параметризуемых команд. Также эту категорию рекомендуется выбирать для команд, которые приводят к открытию блокирующих окон.
Для включения общей независимой команды в тот или иной раздел командного интерфейса необходимо указать ее принадлежность к соответствующим подсистемам. Включение команды в подсистемы выполняется путем ее отметки в свойстве Состав требуемых подсистем (см. раздел «Стандартные команды»).
Подчиненную же команду непосредственно включить в подсистему невозможно. Поэтому подчиненные независимые команды автоматически включаются в командный интерфейс тех подсистем, в которые включен объект – владелец команды.
А вот параметризуемые произвольные команды, как общие, так и подчиненные, включаются в командный интерфейс иначе. Связано это с тем, что фактическое значение своего параметра команда может получить только из данных формы.
ПРИМЕЧАНИЕ
Именно поэтому параметризуемые команды можно размещать только в панели навигации формы или в командной панели формы.
Причем это значение должно иметь тип данных, допустимый для параметра. Состав допустимых типов параметра устанавливается в свойстве Тип параметра команды (рис. 1.145).

Рис. 1.145. Состав допустимых типов параметров для параметризуемой команды определяется ее свойством «Тип параметра команды»
Сравнивая состав типов, заданных в свойстве команды, с типами реквизитов формы, система принимает решение о включении команды в ту или иную форму.
Параметризуемая произвольная команда включается в форму только тогда, когда форма имеет хотя бы один реквизит с типом, входящим в состав допустимых. При проверке учитываются и реквизиты, подчиненные основному реквизиту формы. Состав проверяемых подчиненных реквизитов ограничен первым уровнем подчинения.